package com.java.base.exercise;

import org.apache.poi.hssf.record.DVALRecord;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;

/**
 * @Author RenPu
 * @Date 2021/12/16 18:10
 * @Version 1.0
 * @Description:
 **/
public class Test30 {

    public static void main(String[] args) {

//        BigDecimal bigDecimal = new BigDecimal(2);
//
//        int i = bigDecimal.compareTo(new BigDecimal(3));
//
//        System.out.println(i);
//
//
//        System.out.println(BigDecimal.ONE);


         List<String> objects = new ArrayList<>();

         objects.add("111");
        objects.add("111");
        objects.add("222");
        objects.add("333");
        objects.add("333");
        objects.add("222");
        objects.add("111");
        objects.add("111");
        objects.add("111");

        List<String> collect = objects.stream().filter(m -> !m.equals("111")).collect(Collectors.toList());
        System.out.println(collect);





        System.exit(-3);
        //模拟注册JVM的钩子函数，JVM退出时会执行，，里面的回调函数用于释放资源
        Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {

            private volatile boolean hasShutdown=false;
            private AtomicInteger ao=new AtomicInteger(0);
            @Override
            public void run() {
                synchronized (this){
                    //在这里米释放资源
                    System.out.println("333333333333333333333333333333");

                }

                 }
        }));



    }
}
